﻿using Architecture.Domian.Common;
using Architecture.Domian.DTO;
using Architecture.Domian.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Architecture.Domain.Services.Interface
{
    public interface IMenuService
    {
        List<MenuListDTO> GetMenuInfoDTOs(int parentId);
        List<MenuListDTO> GetMenuListDTO();
        Task<int> MenuInsert(MenuInfo menuInfo);
        Task<PageResult<MenuInfoDTO>> GetPage(int size, int index);
        Task<MenuInfo> GetMenuInfo(int menuId);
        Task<int> UpdateMenuInfo(MenuInfo menu);
        Task<int> DeleteMenuInfo(int menuId);
        Task<int> DeleteMenu(int menuId);
        List<TreeList> GetRoleTree();
        Task<int> PressionInsert(int roleId, List<int> menuIds);
        List<int> GetMenuIdsByRoleId(int roleId);
        Task<List<MenuListDTO>> GetMenuListDTOByMenuName(string? menuName);
    }
}
